#!/bin/bash

find / -type f –perm +6000 2> /dev/null –ls | less  #查找具有s位权限的所有文件并显示出来。

function modify_suid()  #s修改suid的函数

{

       echo "正在查找SUID属性的文件。"

    find / -perm -u=s > user_has_s 2>  /dev/null

       cat -n user_has_s   #显示查找出的文件

       read -p "输入要修改的文件编号：" num

              file_name=`cat -n user_has_s | sed -n "${num} p" | cut -f 2`

              echo "选择的文件是： ${file_name}" 

              ls -al ${file_name}

              echo "1. 删除SUID 属性"       

              echo "2. 增加GUID属性"

              read -p "请输入选项：" num 

              case ${num} in 

              1)

                     chmod u-s ${file_name}   #修改SUID 属性  问题：执行时没有权限？

                     ls -al ${file_name}

                     ;;

              2)         

                     chmod g+s ${file_name}  #修改 GUID属性 问题：在执行的时候没有权限？

                     ls -al ${file_name}

                     ;;

              *)

            echo "错误号码！"

 

              esac

              echo "返回主菜单！"

              sleep 3

}

function modify_sgid()

{

    echo "正在查找SGID属性的文件。。。。"  

    find / -perm -g=s > group_has_s 2> /dev/null

       cat -n group_has_s 

       read -p "请输入要修改的文件编号：" num

              file_name=`cat -n group_has_s | sed -n "${num} p" | cut -f 2`       

              echo "您选择的文件是： ${file_name}" 

              ls -al ${file_name}

              echo "1. 删除GUID属性"       

              echo "2. 增加SUID属性"

              read -p "请输入选项：" num 

              case ${num} in 

              1)

                     chmod g-s ${file_name}    #修改GUID 属性， 同上问题。

                     ls -al ${file_name}

                     ;;

              2)

                     chmod u+s ${file_name}    #修改SUID属性， 同上问题。

                     ls -al ${file_name}

                     ;;

              *)

                     echo "错误号码！"

                 ;;

          esac

          echo "返回主菜单！"

          sleep 3

}

#主函数：用来调用 modify_suid 和 modify_sgid 两个函数。

while [ 0 ]

do 

       echo "* 1.查看具有SUID属性的文件 *"

       echo "* 2.查看具有SGID属性的文件 *"

    read -p  "请输入选项: " choice

       case ${choice} in

           1)

                  modify_suid

                  ;;

              2)

                     modify_sgid

                     ;;

       esac 

done

